package com.azxcrm.project.system.basic.service;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.azxcrm.common.utils.StringUtils;
import com.azxcrm.project.system.basic.dao.IOrderDispatchDao;
import com.azxcrm.project.system.basic.domain.OrderDispatch;
import com.azxcrm.project.system.basic.service.IOrderDispatchService;

/**
 * 派单记录 服务层实现
 * 
 * @author Dustyone
 * @date 2018-09-17
 */
@Service
public class OrderDispatchServiceImpl implements IOrderDispatchService 
{
	@Autowired
	private IOrderDispatchDao orderDispatchDao;
	
	/**
     * 查询派单记录信息
     * 
     * @param dispatchId 派单记录ID
     * @return 派单记录信息
     */
	 @Override
	public OrderDispatch selectOrderDispatchById(Integer dispatchId)
	{
	    return orderDispatchDao.selectOrderDispatchById(dispatchId);
	}
	
	/**
     * 查询派单记录列表
     * 
     * @param orderDispatch 派单记录信息
     * @return 派单记录集合
     */
	 @Override
	public List<OrderDispatch> selectOrderDispatchList(OrderDispatch orderDispatch)
	{
	    return orderDispatchDao.selectOrderDispatchList(orderDispatch);
	}
	
    /**
     * 新增派单记录
     * 
     * @param orderDispatch 派单记录信息
     * @return 结果
     */
	 @Override
	public int insertOrderDispatch(OrderDispatch orderDispatch)
	{
	    return orderDispatchDao.insertOrderDispatch(orderDispatch);
	}
	
	/**
     * 修改派单记录
     * 
     * @param orderDispatch 派单记录信息
     * @return 结果
     */
	 @Override
	public int updateOrderDispatch(OrderDispatch orderDispatch)
	{
	    return orderDispatchDao.updateOrderDispatch(orderDispatch);
	}
	
	/**
     * 保存派单记录
     * 
     * @param orderDispatch 派单记录信息
     * @return 结果
     */
	 @Override
	public int saveOrderDispatch(OrderDispatch orderDispatch)
	{
	    Integer dispatchId = orderDispatch.getDispatchId();
		int rows = 0;
		if (StringUtils.isNotNull(dispatchId))
        {
		    rows = orderDispatchDao.updateOrderDispatch(orderDispatch);
		}
		else
        {
		    rows = orderDispatchDao.insertOrderDispatch(orderDispatch);
		}
		return rows;
	}
	
	/**
     * 删除派单记录信息
     * 
     * @param dispatchId 派单记录ID
     * @return 结果
     */
	 @Override
	public int deleteOrderDispatchById(Integer dispatchId)
	{
	    return orderDispatchDao.deleteOrderDispatchById(dispatchId);
	}
	
	/**
     * 批量删除派单记录对象
     * 
     * @param dispatchIds 需要删除的数据ID
     * @return 结果
     */
	 @Override
	public int batchDeleteOrderDispatch(Integer[] dispatchIds)
	{
		return orderDispatchDao.batchDeleteOrderDispatch(dispatchIds);
	}

	@Override
	public OrderDispatch selectOrderDispatchByDispatch(OrderDispatch orderDispatch) {
		return orderDispatchDao.selectOrderDispatchByDispatch(orderDispatch);
	}
	
	/**
     * Wap查询派单记录列表
     * 
     * @param orderDispatch 派单记录信息
     * @return 派单记录集合
     */
	public List<OrderDispatch> wapOrderDispatchList(OrderDispatch orderDispatch){
		return orderDispatchDao.wapOrderDispatchList(orderDispatch);
	}

	/**
	 * 查询所有参课保护时间
	 * @return 结果
	 */
	@Override
	public List<OrderDispatch> selectAllProtectTime() {
		return orderDispatchDao.selectAllProtectTime();
	}
}
